gpsbabel.git
6 years agorework gathering of serialization information. (#479)
tsteven4 [Tue, 28 Jan 2020 02:08:51 +0000 (19:08 -0700)]
rework gathering of serialization information. (#479)

The existing method broke encapsulation to generate the combined
list of regular and style based formats.  It required access to
xcsv_vecs, which is only present in LegacyFormats.  Until recently
it also required access to xcsv_file.

The existing method also leaked memory, although the use case was
such that the program always exited shortly thereafter.

All these issues are resolved during unification by gathering all the
necessary information and passing that on to serialization.  This
information is gathered from different places for regular and style
based formats.

6 years agoImprove xcsv modularization, fix some xcsv end cases. (#476)
tsteven4 [Mon, 27 Jan 2020 22:00:17 +0000 (15:00 -0700)]
Improve xcsv modularization, fix some xcsv end cases.  (#476)

* Improve xcsv modularization, fix some xcsv end cases.

Add a test for various textual outputs from main.  Some of these are
for the user, and some of these are primarly for passing information
to the doc or the GUI.  While the reference files will have to change
anytime we add/delete a filter or format, or anytime a filter or format
has an arugment change, this test prevents bugs from unintentionally
changing the information passed to the GUI.  As the GUI has no automated
test those types of bugs are difficult to find.

Enhance csv test to cover more end cases with the xcsv format. Historically
these cases have involved a series of xcsv format operations.  These operations
may be using internal style files or passed style files.  These operations may
or may not involve postional arugments on the command line.  Some of these end
cases represented bugs previous to this PR, e.g. a series of input operations
where a xcsv format using an internal style is followed by an xcsv format using
a passsed style file.

Refactor XcsvFile, splitting sytle information into XcsvStyle.  This allows
xcsv_file to be private.  A XcsvStyle object is returned to Vecs by
xcsv_read_internalstyle that can Vecs can parse to build vectors containing
the real formats and the style based formats.  This also eliminates bugs as
we build a new XcsvFile object every time we parse an external or internal
style file so we don't have any accidental dependiencies on previous operations.

Some other xcsv bugs are fixed:
  DATUM was always ignored in a style file.
  #474 xcsv style derived formats may have wrong GUI and/or CLI capability.
    Behavoir now matches the document, which is likely not to be what some of
    the style file authors intended!  E.g. should gpsdrivetrack really be
    working with waypoints as they do after this PR and as is documented,
    or was the accidental operation with tracks desired?

Use gpsbabel::textstream in xcsv.

Stay tuned for xcsv to become a real Format as opposed to a LegacyFormat.

* try to get serialization test to work across OSs.

* disable serialization test under valgrind ...

and disable usage test on all platforms.

we have known leaks in Vecs::sort_and_unify.
usage test fails on windows under appveyor, the sed line doesn't
seem to work.

* ok, twos tests have the executable name embedded.

* Limit # of waypoints holux writer tries to write

so the writer doesn't write passed the end of the write buffer.

* eliminate unnecessary const_cast.

6 years agoConvert mynav to Format sub-class (#472)
Ralf Horstmann [Mon, 27 Jan 2020 21:24:04 +0000 (22:24 +0100)]
Convert mynav to Format sub-class (#472)

* Convert mynav to Format sub-class

While there, switch to gpsbabel::File, QTextStream, and introduce
enum for line type.

* Switch mynav to TextStream

* Include cleanup in mynav

* Correct includes, add link to spec for mynav format

6 years agoDelete unused cet bits. (#469)
tsteven4 [Mon, 27 Jan 2020 21:09:13 +0000 (14:09 -0700)]
Delete unused cet bits. (#469)

Try to consistently use Latin1 for garmin format.

6 years agomodify format access to waypts via global list. (#478)
tsteven4 [Mon, 27 Jan 2020 19:22:23 +0000 (12:22 -0700)]
modify format access to waypts via global list. (#478)

As a rule writers should not modify waypoints on the global list.
One way this can happen is if the writer uses the global waypoint
list, global_waypoint_list.  Via the list pointers to non-const
Waypoints can be accessed.  The three writers that use the
global_waypoint_list all did not modify any waypoints, but it was not obvious.
This PR makes it obvious by getting const Waypoint pointers from the list.
This required some const correctness corrections in these writers.

As a rule readers should not modify waypoints they didn't add to the
global list.
One way this can happen is if the reader uses the global waypoint list.
One reader was inapproprieately modifying waypoints on the global list.
While this is OK for waypoints it added, it is not OK for any waypoints
that were added by other readers.  This PR fixes a bug where the
netsumbler reader, intending to modify waypoints it added to the list,
actually modified all waypoints on the list.

6 years agorefactor height filter to appease cppcheck & MSVC (#473)
tsteven4 [Sun, 26 Jan 2020 15:26:58 +0000 (08:26 -0700)]
refactor height filter to appease cppcheck & MSVC (#473)

* refactor heightgrid to appease cppcheck.

With newer versions (somwhere after 1.82) of cppcheck analyzing
height.cc took an excessive amount of time.
By making these variables private static class members instead of
member function static variables we avoid the cppcheck issues.

* tweak height to work around MSVC 2017 error.

and hopefully MSVC 2015 error as well.

* don't include cstdint within class definition.

It can lead to compile failures.  This was done in heightgrid.h,
but the include guards in cstdint hid the error.

6 years agofix some xcsv bugs. (#477)
tsteven4 [Sun, 26 Jan 2020 15:04:36 +0000 (08:04 -0700)]
fix some xcsv bugs. (#477)

These led to non-sensical motoactv files in test-all.  These
non-sensical files lead to the discovery of a holux write passed
end of buffer bug.

1. fea062ee7 writtime expects a strftime format specification.
When writing XT_TIMET_TIME_MS with writtime the strpftime format
specification ("%s") that was previously used was replaced by a printf
format specification ("%ld").  Thus the twelve hour clock followed by
a 'd' character was printed instead of the number of seconds since the Epoch.

2. 172073cdb When intending to print the field encloser the record
delimiter printed instead.

6 years agogpsbabel::textstream now accepts open mode flags (#475)
tsteven4 [Sat, 25 Jan 2020 16:34:59 +0000 (09:34 -0700)]
gpsbabel::textstream now accepts open mode flags (#475)

Previously only an open mode flag was accepted, now a combination
of flags will be accepted.

6 years agoupdate codacy coverage tool. (#471)
tsteven4 [Wed, 22 Jan 2020 01:24:11 +0000 (18:24 -0700)]
update codacy coverage tool. (#471)

6 years agotry to get codacy cppcheck running without height.cc (#470)
tsteven4 [Wed, 22 Jan 2020 00:11:34 +0000 (17:11 -0700)]
try to get codacy cppcheck running without height.cc (#470)

6 years agoConvert ggv_bin format to sub-class of Format (#462)
Ralf Horstmann [Tue, 21 Jan 2020 22:10:34 +0000 (23:10 +0100)]
Convert ggv_bin format to sub-class of Format (#462)

* Convert ggv_bin format to sub-class of Format

* Add ggv_bin helpers as class member functions

* Style improvements in ggv_bin

6 years agoDon't lie to mkshort about utf8. (#468)
tsteven4 [Tue, 21 Jan 2020 15:32:09 +0000 (08:32 -0700)]
Don't lie to mkshort about utf8. (#468)

Pass a flag indicating utf8 on every call to mkshort, instead of
setting it up in the handle.  This is much more likely to be correct
as the string and the flag are passed together.  The old method was
often incorrect as it was based on global_opts.charset, which was
often unrelated to the string that was passed to mkshort.

This also resolved an apparent bug in psitrex.  It was thought
that passing a nullptr to mkshort was a bug, but this results in
the result being generated from the default name.  It is assumed
that this is what was originally intended, and this was never a bug.

6 years agoDrop backup/restore of wpts, rtes, trks in main. (#467)
tsteven4 [Tue, 21 Jan 2020 01:25:22 +0000 (18:25 -0700)]
Drop backup/restore of  wpts, rtes, trks in main. (#467)

PR #459, df03a17, eliminated cet_covert_strings from main.cc.

Thus there is no need to backup and restore waypoints, routes,
and tracks when running a format writer.

For the same reason we no longer need to push and pop verbose
status when running a format writer or display the waypoints in the
case that no format writer was used.

6 years agofix RouteList::copy() (#466)
tsteven4 [Tue, 21 Jan 2020 00:10:30 +0000 (17:10 -0700)]
fix RouteList::copy() (#466)

which failed to copy some members of each route, specifically
line_color, line_width, session.

6 years agoremove HAVE_LINUX_HID support from builds. (#465)
tsteven4 [Mon, 20 Jan 2020 18:01:12 +0000 (11:01 -0700)]
remove HAVE_LINUX_HID support from builds. (#465)

We haven't used this for some time.

6 years agoDatetime optimization (#439)
tsteven4 [Mon, 20 Jan 2020 17:09:52 +0000 (10:09 -0700)]
Datetime optimization (#439)

* Optimize performance of DateTime.

Prefer Qt::UTC TimeSpec for storing creation_time.
This avoids very significant performance hits from converting
to/from Qt::LocalTime, which involve DST calculations as well
as the usual offsets.
Test suite with this commit runs at 63% of wall-clock time of the
baseline (time ./testo)!

* remove obsolete fromTime_t and use Qt::UTC.

* Delete obsolete operators and methods of DateTime.

* document motivation for Qt::UTC as default timespec.

Modify Waypoint::SetCreationTime so it can be used with seconds, milliseconds,
or both operands.  This method is implemented without resetting the
Qt::TimeSpec.  It will be efficient if the existing TimeSpec is
Qt::UTC as set up by gpsbabel::DateTime default constructor.

6 years agoAdd OpenBSD support to qmake project (#464)
Ralf Horstmann [Sun, 19 Jan 2020 22:28:12 +0000 (23:28 +0100)]
Add OpenBSD support to qmake project (#464)

* Add OpenBSD support to qmake project

* Set HAVE_LINUX_HID only on Linux in CMakeLists.txt

6 years agoeliminate cet usage in destinator, igo8, mmo. (#463)
tsteven4 [Sat, 18 Jan 2020 21:46:24 +0000 (14:46 -0700)]
eliminate cet usage in destinator, igo8, mmo. (#463)

* eliminate cet usage in igo8 format.

added test to verify written header.
This test requires spaces to be embedded within option strings.
testo had to be modififed to preserve these embedded spaces.

* eliminate cet usage in destinator.

* eliminate cet usage in mmo.

This also fixes some apparent encoding/decoding bugs, although
our understanding of this binary format is likely incomplete.

* use smart pointer with encoders/decoders.

* fix bad resolution of merge conflict.

6 years agoMerge pull request #453 from ra1fh/ggv-bin-int-overflow
GPSBabel [Sat, 18 Jan 2020 17:15:04 +0000 (11:15 -0600)]
Merge pull request #453 from ra1fh/ggv-bin-int-overflow

Prevent negative len in ggv_bin_read_bytes.

6 years agoretire cet_convert_strings (#459)
tsteven4 [Sat, 18 Jan 2020 16:04:07 +0000 (09:04 -0700)]
retire cet_convert_strings (#459)

* prepare to eliminate char strings from garmin_fs_t.

* retire cet_covnert_strings

The only use was for garmin specific data(gmsd).
gmsd is migrated from char strings to QStrings,
and any necessary conversions are handled within the formats using
gmsd.
This takes main out of the string conversion business.

* fix gmsd related memory leaks.

and eliminate a little back and forth between
char strings and QStrings.

csv_stringtrim has 3 signatures:
1. char*,char*,int returning char* that must be free'd.
2. QString,QString returning QString
3. QString,QString,int returing QString

We may want to consider replacing 2. with 3. and a default for
the 3rd argument.

6 years agoclean up make icon doc. (#460)
tsteven4 [Fri, 17 Jan 2020 23:49:38 +0000 (16:49 -0700)]
clean up make icon doc. (#460)

and fix an old capitalization error in the document.

6 years agouse QTextStream for garmin_txt format. (#458)
tsteven4 [Thu, 16 Jan 2020 02:25:00 +0000 (19:25 -0700)]
use QTextStream for garmin_txt format. (#458)

6 years agoeliminate usage of obsolete QString::sprintf(). (#457)
tsteven4 [Sun, 12 Jan 2020 14:08:57 +0000 (07:08 -0700)]
eliminate usage of obsolete QString::sprintf(). (#457)

in favor of the merely not recommended QString::asprintf().

6 years agofix potential memory leaks in ggv_ovl. (#456)
tsteven4 [Sat, 11 Jan 2020 20:04:49 +0000 (13:04 -0700)]
fix potential memory leaks in ggv_ovl. (#456)

* fix potential memory leaks in ggv_ovl.

* ggv_ovl control flow and string processing tweaks.

6 years agoPrevent negative len in ggv_bin_read_bytes.
Ralf Horstmann [Mon, 6 Jan 2020 20:55:10 +0000 (21:55 +0100)]
Prevent negative len in ggv_bin_read_bytes.

Both QByteArray::resize and QIODevice::read handle negative
len values gracefully, but there is no error status returned and
parsing fails later at and unrelated location. So better fail
early instead.

6 years agoIntroduce Format class (#449)
tsteven4 [Sat, 11 Jan 2020 15:53:05 +0000 (08:53 -0700)]
Introduce Format class (#449)

Also, introduce Vecs and FilterVecs classes. These are implemented as Meyers singeltons. This avoids some issues with initialization order.

All formats except gpx are used as LegacyFormats, which is deprecated. The gpx format has been converted to demonstrate the preferred usage.

6 years agoUse https for www.gpsbabel.org (#450)
Chris Mayo [Sat, 11 Jan 2020 00:01:41 +0000 (00:01 +0000)]
Use https for www.gpsbabel.org (#450)

6 years agoCetcleanup (#454)
tsteven4 [Fri, 10 Jan 2020 20:47:24 +0000 (13:47 -0700)]
Cetcleanup (#454)

* remove some obsolete cet code.

* chip away at cet a bit more.

* repair GDB_DEBUG, eliminating cet usage.

6 years agofix char string corruption with xcsv. (#455)
tsteven4 [Fri, 10 Jan 2020 20:12:11 +0000 (13:12 -0700)]
fix char string corruption with xcsv. (#455)

Any gmsd char string data handled by the xcsv format could be
corrupted when main ran cet_convert_strings.  The xml format
reader/writer use a QTextCodec to handle all char string conversion,
but the data was converted again by cet_convert_strings ... garmin_fs_convert
to/from ASCII, resulting in corruption.

Add a test case for the above.

Add xcsv format support for gmsd email field.

6 years agocorrect url for filter documentation. (#452)
tsteven4 [Mon, 6 Jan 2020 16:04:32 +0000 (09:04 -0700)]
correct url for filter documentation. (#452)

6 years agoMerge pull request #451 from tsteven4/translations
tsteven4 [Wed, 1 Jan 2020 22:46:09 +0000 (15:46 -0700)]
Merge pull request #451 from tsteven4/translations

update translations

6 years agoupdate all the translation files.
tsteven4 [Wed, 1 Jan 2020 22:09:15 +0000 (15:09 -0700)]
update all the translation files.

6 years agocatch de translation up with old change.
tsteven4 [Wed, 1 Jan 2020 21:59:38 +0000 (14:59 -0700)]
catch de translation up with old change.

Change was 55508d19b2, Sep 12 2015.

6 years agostore QXmlStreamAttributes in xml_tag. (#441)
tsteven4 [Sat, 28 Dec 2019 19:01:03 +0000 (12:01 -0700)]
store QXmlStreamAttributes in xml_tag. (#441)

* store QXmlStreamAttributes in xml_tag.

instead of arrays of char strings.  This simplified xml_tag
handling.

Correct encoding issues with text and html formats.

Enhance test coverage of text and html formats.

* clean up xml attributes handling.

6 years agoUpdate igc.cc with new Header type S (#446)
rolfoz [Mon, 23 Dec 2019 14:38:22 +0000 (22:38 +0800)]
Update igc.cc with new Header type S (#446)

Add the new Header type S to allowed values on line 308

6 years agohide magic time value from test mode decisions. (#443)
tsteven4 [Thu, 19 Dec 2019 16:44:18 +0000 (09:44 -0700)]
hide magic time value from test mode decisions. (#443)

6 years agoFix test generating gpx schema violations. (#444)
tsteven4 [Thu, 19 Dec 2019 15:37:42 +0000 (08:37 -0700)]
Fix test generating gpx schema violations. (#444)

TODO: Detect bad input coordinates.

6 years agouse QDebug in logging. (#438)
tsteven4 [Tue, 17 Dec 2019 21:39:48 +0000 (14:39 -0700)]
use QDebug in logging. (#438)

* use QDebug in logging.

This gives us full access to all the methods, stream operators and
manipulators that QDebug has access to.

* silence warning on unhandled fix values in nmea.

6 years agoFix potential slicing with Filter class. (#440)
tsteven4 [Tue, 17 Dec 2019 14:23:05 +0000 (07:23 -0700)]
Fix potential slicing with Filter class. (#440)

detected by clazy as:
warning: Polymorphic class Filter is copyable. Potential slicing. [-Wclazy-copyable-polymorphic]

6 years agofix NMEA date fiddling. (#437)
tsteven4 [Fri, 13 Dec 2019 21:48:18 +0000 (14:48 -0700)]
fix NMEA date fiddling. (#437)

Three errors were corrected:
1) SECONDS_PER_DAY is assumed to be an integer type.  It was recently
errorously changed to to double.
2) when backfilling dates we need to subtract a day at rolloever,
not addit.
3) If we have a date, then it came with a time.  Don't set the backfill
time to 23:59:59.

Add test coverage for the above.

6 years agoDelete file erroneously added in #409. (#435)
tsteven4 [Wed, 11 Dec 2019 14:47:35 +0000 (07:47 -0700)]
Delete file erroneously added in #409. (#435)

6 years agoMerge pull request #409 from gpsbabel/no_new_string
Robert Lipe [Wed, 11 Dec 2019 07:11:04 +0000 (01:11 -0600)]
Merge pull request #409 from gpsbabel/no_new_string

Remove remnants of NEW_STRINGS

6 years agoMerge pull request #433 from gpsbabel/cleanups_201912
Robert Lipe [Wed, 11 Dec 2019 03:03:58 +0000 (21:03 -0600)]
Merge pull request #433 from gpsbabel/cleanups_201912

Cleanups: make a gbfreadbuf, move units from defs and into dedicated file, reduce xstrdup,xmalloc use, reduce CString/QString roundtrips, more.

6 years agotweaks for format vectors. (#434)
tsteven4 [Mon, 9 Dec 2019 18:39:58 +0000 (11:39 -0700)]
tweaks for format vectors. (#434)

flush out hiketech capability array.

use copy constructor of ff_vecs_t when creating unified vector list.

6 years agoCleanup train keeps rollin' along
Robert Lipe [Mon, 9 Dec 2019 17:30:31 +0000 (11:30 -0600)]
Cleanup train keeps rollin' along
defs.h: use c++ true and false. Replace macros with constexprs.
gbser_win.cc don't use Windows style TRUE/FALSE.
kml.cc: integration suggestions.
msvc build: use units.h

6 years agoAdd util.h to various build files.
Robert Lipe [Mon, 9 Dec 2019 15:55:43 +0000 (09:55 -0600)]
Add util.h to various build files.

6 years agoMechanically move protos and structs for units.cc from defs.h to units.h
Robert Lipe [Mon, 9 Dec 2019 15:41:57 +0000 (09:41 -0600)]
Mechanically move protos and structs for units.cc from defs.h to units.h

6 years agoA bunch of busy-work in coce that approximarly never is actually run but solely for...
Robert Lipe [Mon, 9 Dec 2019 08:26:50 +0000 (02:26 -0600)]
A bunch of busy-work in coce that approximarly never is actually run but solely for the hope of hushing clang, clion, and codacy.

6 years agoFix ordering in optional altitude test in KML reader
Robert Lipe [Mon, 9 Dec 2019 06:55:31 +0000 (00:55 -0600)]
Fix ordering in optional altitude test in KML reader

6 years agoWarning tweaks in defs for safety in macro expansion.
Robert Lipe [Mon, 9 Dec 2019 05:56:50 +0000 (23:56 -0600)]
Warning tweaks in defs for safety in macro expansion.

6 years agoLargely automated cleanups in NMEA.
Robert Lipe [Mon, 9 Dec 2019 05:55:59 +0000 (23:55 -0600)]
Largely automated cleanups in NMEA.

6 years agoRework KML linestring coordinate reader. About a 21x speedup on a file
Robert Lipe [Mon, 9 Dec 2019 05:49:32 +0000 (23:49 -0600)]
Rework KML linestring coordinate reader. About a 21x speedup on a file
with 38,000 coordinates tuples.

6 years agoMake WAYPT_SET act more like a function after macro expansion.
Robert Lipe [Mon, 9 Dec 2019 01:37:32 +0000 (19:37 -0600)]
Make WAYPT_SET act more like a function after macro expansion.

6 years agoLowranceusr: internal tightening of types, better scope management.
Robert Lipe [Mon, 9 Dec 2019 01:14:09 +0000 (19:14 -0600)]
Lowranceusr: internal tightening of types, better scope management.

6 years agoMake GPX internal promotions/reductions more specific.
Robert Lipe [Mon, 9 Dec 2019 01:11:48 +0000 (19:11 -0600)]
Make GPX internal promotions/reductions more specific.
Automated cleanups courtesy Clion.

6 years agoAdd gbfreadbuf to simplify object storage.
Robert Lipe [Mon, 9 Dec 2019 01:10:19 +0000 (19:10 -0600)]
Add gbfreadbuf to simplify object storage.

6 years agoMake tpo less weird. Rely on xmalloc/xfree way less. Reduce internal copies.
Robert Lipe [Mon, 9 Dec 2019 01:07:30 +0000 (19:07 -0600)]
Make tpo less weird. Rely on xmalloc/xfree way less. Reduce internal copies.

6 years agoIn Teletype, seek over unknown instead of allocating, reading, and tossing.
Robert Lipe [Sun, 8 Dec 2019 05:54:45 +0000 (23:54 -0600)]
In Teletype, seek over unknown instead of allocating, reading, and tossing.

6 years agouse nullptr instead of empty functions (#432)
tsteven4 [Fri, 6 Dec 2019 22:18:13 +0000 (15:18 -0700)]
use nullptr instead of empty functions (#432)

for function pointers passed to route_disp_all, track_disp_all
and ff_vecs_t exit.

6 years agoclean up filter includes. (#431)
tsteven4 [Fri, 6 Dec 2019 20:02:43 +0000 (13:02 -0700)]
clean up filter includes. (#431)

remove obsolete definition of filter_vecs_t.
don't included filterdefs.h in each filters .cc file.
add QVector include to each filters .h file.

6 years agouse QVectors for filter and format arguments. (#430)
tsteven4 [Fri, 6 Dec 2019 17:31:44 +0000 (10:31 -0700)]
use QVectors for filter and format arguments. (#430)

* use QVectors for filter and format arguments.

This includes a work around MSVC 2015 errors C2440, C2664.  See
the conditional code in defs.h.

* restore accidental deletion of include file.

6 years agostandardize arg proccessing loop structure and naming. (#429)
tsteven4 [Mon, 2 Dec 2019 19:34:09 +0000 (12:34 -0700)]
standardize arg proccessing loop structure and naming. (#429)

* standardize arg processing loops in vec handling.

* standardize var naming in arg processing loops.

6 years agousing QStrings in filter and format vecs. (#428)
tsteven4 [Mon, 2 Dec 2019 16:34:28 +0000 (09:34 -0700)]
using QStrings in filter and format vecs. (#428)

This includes:
our format list entry vecs_t,
out filter list entry fl_vecs_t and
our format interface ff_vecs_t.

Fix validation of options supplied with a format or filter.
Previously unknown options were only detected if all given options
were unknown.  Now any unknown option will be reported, irregardless
of any other options supplied.
The behavoir of ignoring unknown options is unchanged, they are ignored
except for the warning.

6 years agoimprove format/filter vector validation. (#427)
tsteven4 [Mon, 2 Dec 2019 01:16:09 +0000 (18:16 -0700)]
improve format/filter vector validation. (#427)

6 years agoMerge pull request #426 from tsteven4/using
tsteven4 [Fri, 29 Nov 2019 15:08:38 +0000 (08:08 -0700)]
Merge pull request #426 from tsteven4/using

clang-tidy modernize-use-using

6 years agodelete some dangling structure-tags.
tsteven4 [Thu, 28 Nov 2019 19:02:57 +0000 (12:02 -0700)]
delete some dangling structure-tags.

6 years agoclang-tidy modernize-use-using.
tsteven4 [Thu, 28 Nov 2019 17:43:40 +0000 (10:43 -0700)]
clang-tidy modernize-use-using.

replace typedef syntax.
this was done by hand.

6 years agoMerge pull request #424 from tsteven4/vec_containers
Robert Lipe [Thu, 28 Nov 2019 04:57:06 +0000 (22:57 -0600)]
Merge pull request #424 from tsteven4/vec_containers

use Qt containers for format/style/filter vecs.

6 years agouse Qt containers for format/style/filter vecs.
tsteven4 [Thu, 21 Nov 2019 16:37:25 +0000 (09:37 -0700)]
use Qt containers for format/style/filter vecs.

6 years agoMerge pull request #423 from tsteven4/clazy-fixes
tsteven4 [Wed, 20 Nov 2019 20:07:51 +0000 (13:07 -0700)]
Merge pull request #423 from tsteven4/clazy-fixes

* fix c++11 range-loop might detach Qt container

clazy 1.6, clazy-range-loop

* fix Missing reference on non-trivial type

clazy 1.6, clazy-function-args-by-ref

6 years agofix Missing reference on non-trivial type
tsteven4 [Wed, 20 Nov 2019 18:32:07 +0000 (11:32 -0700)]
fix Missing reference on non-trivial type

clazy 1.6, clazy-function-args-by-ref

6 years agofix c++11 range-loop might detach Qt container
tsteven4 [Wed, 20 Nov 2019 18:21:05 +0000 (11:21 -0700)]
fix c++11 range-loop might detach Qt container

found with clazy 1.6

6 years agofix format vector consistency issues (#422)
tsteven4 [Wed, 20 Nov 2019 17:57:48 +0000 (10:57 -0700)]
fix format vector consistency issues (#422)

* fix format vector consistency issues.

* fix leaks in sort_and_unify_vecs.

* fix vec init for msvc2015.

* Revert "fix vec init for msvc2015."

This reverts commit 02b85801ee4d1de24101713fbd85c33238da6183.

* Revert "fix leaks in sort_and_unify_vecs."

This reverts commit d634c21f9f7767d198750e61ba426eb7850127a9.

* only validate formats for real types.

6 years agoReplace libusb 0.1 usage with libusb 1.0 (#396)
tsteven4 [Thu, 14 Nov 2019 17:31:36 +0000 (10:31 -0700)]
Replace libusb 0.1 usage with libusb 1.0 (#396)

Replace our modified libusb 0.1.12 with libusb 1.0.22 on macos. On macos we statically link to our inclcuded libusb.
Use libusb 1.0 instead of libusb 0.1 on linux. On linux we dynamically link to a distribution provided libusb, or optionally build without libusb support.

6 years agoupdate Qt to 5.12.6 (#420)
tsteven4 [Wed, 13 Nov 2019 20:10:40 +0000 (13:10 -0700)]
update Qt to 5.12.6 (#420)

6 years agoCorrect Bundle Identifier for macos using recommended reverse (#419)
tsteven4 [Wed, 6 Nov 2019 19:52:47 +0000 (12:52 -0700)]
Correct Bundle Identifier for macos using recommended reverse (#419)

DNS format.

Build a bundle with the cmake flow on macos.

Delete gpsbabelfe script that messed with LD_LIBRARY_PATH and
then executed gpsbabelfe-bin. This file was obsolete, and
it's existence upset Xcode (entitlement file handling).

6 years agoclean up "No newline at end of file" (#418)
tsteven4 [Wed, 30 Oct 2019 15:30:47 +0000 (09:30 -0600)]
clean up "No newline at end of file" (#418)

and delete an empty test file.

6 years agoMerge pull request #410 from gpsbabel/docbook2
GPSBabel [Wed, 30 Oct 2019 07:04:26 +0000 (02:04 -0500)]
Merge pull request #410 from gpsbabel/docbook2

Dev Doc fix: Document Qt, Qmake better.

6 years agoMerge pull request #411 from gpsbabel/docbook3
GPSBabel [Wed, 30 Oct 2019 07:00:49 +0000 (02:00 -0500)]
Merge pull request #411 from gpsbabel/docbook3

Repair inconsistencies in xsl docbook source

6 years agoMerge pull request #413 from gpsbabel/robertlipe-patch-1
GPSBabel [Wed, 30 Oct 2019 06:58:53 +0000 (01:58 -0500)]
Merge pull request #413 from gpsbabel/robertlipe-patch-1

Notes shouldn't be part of this CL

6 years agoMerge pull request #414 from gpsbabel/robertlipe-patch-2
GPSBabel [Wed, 30 Oct 2019 06:58:03 +0000 (01:58 -0500)]
Merge pull request #414 from gpsbabel/robertlipe-patch-2

Delete miniHomer-gps-utc-offset.xml

6 years agoMerge pull request #415 from gpsbabel/robertlipe-patch-3
GPSBabel [Wed, 30 Oct 2019 06:57:23 +0000 (01:57 -0500)]
Merge pull request #415 from gpsbabel/robertlipe-patch-3

Delete miniHomer-gps-utc-offset.xml

6 years agoMerge pull request #416 from gpsbabel/robertlipe-patch-3-1
GPSBabel [Wed, 30 Oct 2019 06:56:55 +0000 (01:56 -0500)]
Merge pull request #416 from gpsbabel/robertlipe-patch-3-1

Delete miniHomer-gps-week-rollover.xml

6 years agoMerge pull request #417 from gpsbabel/docbook5
GPSBabel [Wed, 30 Oct 2019 06:55:49 +0000 (01:55 -0500)]
Merge pull request #417 from gpsbabel/docbook5

Docbook cleanup

6 years agoMerge pull request #395 from gromit1811/fit_write_support
GPSBabel [Wed, 30 Oct 2019 06:53:19 +0000 (01:53 -0500)]
Merge pull request #395 from gromit1811/fit_write_support

Implement FIT writing support

6 years agom241: Document serial port hardware
Robert Lipe [Tue, 29 Oct 2019 02:47:34 +0000 (21:47 -0500)]
m241: Document serial port hardware

Hint that yellow m241 uses SiLabs CP210x. Red m241 is dead to us and the whole company is even more dead.

6 years agoDelete miniHomer-gps-week-rollover.xml
Robert Lipe [Sun, 27 Oct 2019 18:57:27 +0000 (13:57 -0500)]
Delete miniHomer-gps-week-rollover.xml

6 years agoDelete miniHomer-gps-utc-offset.xml
Robert Lipe [Sun, 27 Oct 2019 18:57:17 +0000 (13:57 -0500)]
Delete miniHomer-gps-utc-offset.xml

6 years agoDelete notes
Robert Lipe [Sun, 27 Oct 2019 18:56:29 +0000 (13:56 -0500)]
Delete notes

6 years agoDelete miniHomer-gps-utc-offset.xml
Robert Lipe [Sun, 27 Oct 2019 18:51:57 +0000 (13:51 -0500)]
Delete miniHomer-gps-utc-offset.xml

6 years agoShouldn't be part of 409 commit
Robert Lipe [Sun, 27 Oct 2019 18:50:55 +0000 (13:50 -0500)]
Shouldn't be part of 409 commit

I failed a wrestling match with Github

6 years agoNotes shouldn't be part of this CL
Robert Lipe [Sun, 27 Oct 2019 18:47:42 +0000 (13:47 -0500)]
Notes shouldn't be part of this CL

I failed a wrestling match with Github

6 years agoCleanup of dangling doc files for dead formats
Robert Lipe [Sun, 27 Oct 2019 18:41:39 +0000 (13:41 -0500)]
Cleanup of dangling doc files for dead formats

Formats in deprecated/  don't need live doc.
Reformatted our largest xmldoc files.

6 years agoRepair inconsistencies in xsl docbook source
Robert Lipe [Sun, 27 Oct 2019 08:44:29 +0000 (03:44 -0500)]
Repair inconsistencies in xsl docbook source

6 years agoDev Doc fix: Document Qt, Qmake better.
Robert Lipe [Sun, 27 Oct 2019 08:05:33 +0000 (03:05 -0500)]
Dev Doc fix: Document Qt, Qmake better.

Better enumerate dependencies
Describe Qt Crerator
Improve internal linking
Fix trailing spaces

6 years agoDev Doc fix: Document Qt, Qmake better.
Robert Lipe [Sun, 27 Oct 2019 07:55:55 +0000 (02:55 -0500)]
Dev Doc fix: Document Qt, Qmake better.

Better enumerate dependencies
Describe Qt Crerator
Improve internal linking
Fix trailing spaces

6 years agoRemove remnants of NEW_STRINGS
Robert Lipe [Sun, 27 Oct 2019 04:09:08 +0000 (23:09 -0500)]
Remove remnants of NEW_STRINGS

NEW_STRINGS haven't been new for many years at this point. I'm tired of looking at that code. Most of what's left is in paths never executed or tested anyway. :-/

6 years agoImplement FIT writing support
Martin Buck [Sun, 17 Mar 2019 22:46:54 +0000 (23:46 +0100)]
Implement FIT writing support

Generate FIT courses from tracks+waypoints. Waypoints get mapped to course
points (generic by default, left/right turns if waypoint names contain the
string "left"/"right" or their equivalents in German, French, Spanish,
Italian).

If the original track contains neither time stamps nor speed values,
a fixed speed of 10 km/h gets assigned to the whole course.

Resulting FIT files have been tested and are accepted by a Garmin Edge 130
unit, but are assumed to be usable with any GPS unit supporting FIT.

Track segement markers are ignored at the moment.

6 years agoupdate qt to 5.12.5 (#403)
tsteven4 [Wed, 2 Oct 2019 21:56:08 +0000 (15:56 -0600)]
update qt to 5.12.5 (#403)

6 years agoMerge pull request #400 from jspricke/manpage_xml
GPSBabel [Mon, 23 Sep 2019 16:36:06 +0000 (11:36 -0500)]
Merge pull request #400 from jspricke/manpage_xml

Fix manpage xml